package com.cgwx.tmservice.entity.tm;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.stereotype.Component;

/**
 * <p>
 * 遥测解析记录表
 * </p>
 *
 * @author GaoWei
 * @since 2023-08-31
 */

@Component
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="TmInfoHisDate对象", description="遥测解析记录表")
public class TmInfoHisDate implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "遥测参数ID")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    @ApiModelProperty(value = "遥测帧ID，即此遥测参数是从哪帧遥测中解析出的")
    private String tmframeId;

    @ApiModelProperty(value = "遥测帧标识符，唯一确定遥测帧代号，例：0_2_1")
    private String tmframeIdentifiers;

    @ApiModelProperty(value = "遥测参数名称")
    private String tmName;

    @ApiModelProperty(value = "遥测原码")
    private String originalValue;

    @ApiModelProperty(value = "遥测代号")
    private String tmCode;

    @ApiModelProperty(value = "原码存储方式(0:无符号; 1:有符号; 2: 补码; 3:反码)。 默认值： 0。")
    private Integer tmOriginalType;

    @ApiModelProperty(value = "解析值处理方式(0:原码; 1:十进制; 2:公式; 3:状态码(十六进制);4:状态码(十进制);5:状态码(二进制); 6:时间; 7:不处理;8:32位单精度浮点数)。默认值：0。")
    private Integer tmAnalyticType;

    @ApiModelProperty(value = "解析值处理参数")
    private String tmAnalyticParam;

    @ApiModelProperty(value = "遥测工程值")
    private String analyticValue;

    @ApiModelProperty(value = "UTC时间")
    private String utctime;

    @ApiModelProperty(value = "数据通路c:can,s:s,x:x,cor:cortex")
    @TableField("dataChannel")
    private String dataChannel;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;
}
